package main

import (
	"github.com/gin-gonic/gin"
)

type Person struct {
	ID   int    `uri:"id"`
	Name string `uri:"name"`
}

func main() {
	r := gin.Default()

	// 范绑定
	//r.GET("/user/:name", func(c *gin.Context) {
	//	name := c.Param("name")
	//	c.JSON(http.StatusOK, gin.H{
	//		"name": name,
	//	})
	//})

	// 这种是参数在url中; 例如 www.ablejava.com?3/name ==> id=3
	r.GET("/:id/:name", func(c *gin.Context) {
		var p Person // 绑定对象
		if err := c.ShouldBindUri(&p); err != nil {
			c.Status(404)
			return
		}

		c.JSON(200, gin.H{
			"name": p.Name,
			"id":   p.ID,
		})
	})
	r.Run()
}
